public class before_question_38 {
}
class before_Solution_38 {
    public String countAndSay(int n) {
        String s="1";
        int m,num,sum;
        for (int i = 1; i < n; i++) {
            int[] arr = new int[5000];//每一次进来都是转化成一个新的数组
            //先将s字符串转化成字符数组
            char[] err = s.toCharArray();
            num=1;//num用来记录连续字符相同的个数
            sum=0;//用来将1111转化成41并将其存到arr中，sum表示的是arr数组的下标
            for (int j = 0; j < err.length; j++) {
                if(j!=err.length-1&&err[j]==err[j+1]){
                    num++;
                    continue;
                }
                int temp=err[j]-48;//将字符转化成对应的数字
                arr[sum++]=num*10+temp;//存入到数组中去
                num=1;//更新num的值
            }
            //将arr数组转化成stemp,用于下次i的使用
            String stemp="";
            for (int j = 0; j < sum; j++) {
                stemp=stemp+Integer.toString(arr[j]);
            }
            //更新字符串s的值
            s=stemp;
        }
        return s;
    }

//    public static void main(String[] args) {
//        Solution_38 s = new Solution_38();
//        System.out.println(s.countAndSay(4));
//    }
}
